Software Managed Manycores
ثبت نشده
چکیده
Caching as a concept has been highly successful in various aspects of computer system design. Examples of cache memory abound in contemporary designs: a disk buffer cache is a small amount of buffer memory present on a hard drive to speed up the access to the disk; a web cache provides a mechanism for temporary storage of web documents to improve user experience; a DNS cache stores queried results for a period of time in the domain name system to make DNS lookup faster; P2P caching is a technique to reduce bandwidth costs for content on peer-to-peer networks; and database caching is a mechanism used to cache database content in multi-tier applications. Perhaps the earliest use of cache memory was in processor design, where caching in various forms (e.g., data caching, instruction caching, page table caching) was exploited for improving performance by reducing accesses to slower, offchip memories. Caches store frequently accessed data in a memory close to the processor to make the memory accesses faster and consume lower power. Traditionally caches in the processor have been implemented in hardware. Here the movement of the data between the caches and main memory (i.e., caching) is performed automatically by hardware—with the software oblivious to the caching mechanisms. Caching in computer architecture is typically implemented in hardware to reduce latency because each cache access is typically in the timing critical path of instruction execution. Another advantage of hardware caching is that programmers can develop software without worrying about caching since it is handled automatically in hardware. Furthermore, in order to bridge the increasing latency of memory accesses, multiple levels of caching (organized as a cache hierarchy) became popular in Fig. 2: Difference between Cache and SPM—the hardware view: SPM is just a raw memory without the hardware mechanism to manage it (as is present in caches).
منابع مشابه
Utilizing Heterogeneity in Manycore Architectures for Streaming Applications
In the last decade, we have seen a transition from single-core to manycore in computer architectures due to performance requirements and limitations in power consumption and heat dissipation. The rst manycores had homogeneous architectures consisting of a few identical cores. However, the applications, which are executed on these architectures, usually consist of several tasks requiring di eren...
متن کاملΣC: A Programming Model and Language for Embedded Manycores
We present ΣC, a programming model and language for high performance embedded manycores. The programming model is based on process networks with non determinism extensions and process behavior specifications. The language itself extends C, with parallelism, composition and process abstractions. It is intended to support architecture independent, high-level parallel programming on embedded manyc...
متن کاملModeling Mixed-critical Systems in Real-time BIP
The proliferation of multiand manycores creates an important design problem: the design and verification for mixed-criticality constraints in timing and safety, taking into account the resource sharing and hardware faults. In our work, we aim to contribute towards the solution of these problems by using a formal design language – the real time BIP, to model both hardware and software, functiona...
متن کاملH̊akan Grahn Blekinge Institute of Technology , Sweden First Swedish Workshop on Multi - Core Computing MCC - 08
The programming complexity of increasingly parallel processors calls for new tools that assist programmers in utilising the parallel hardware resources. In this paper we present a set of models that we have developed as part of a tool for mapping dataflow graphs onto manycores. One of the models captures the essentials of manycores identified as suitable for signal processing, and which we use ...
متن کاملHigh-Throughput Maps on Message-Passing Manycore Architectures: Partitioning versus Replication
The advent of manycore architectures raises new scalability challenges for concurrent applications. Implementing scalable data structures is one of them. Several manycore architectures provide hardware message passing as a means to efficiently exchange data between cores. In this paper, we study the implementation of high-throughput concurrent maps in message-passing manycores. Partitioning and...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016